К. Гордеев

И СНОВА "РОГАТЫЙ" ШТРИХ-КОД:
незавершенная дискуссия или новая атака?

Вот уже месяц некие анонимы атакуют меня и редакцию письмами и "исследованиями" на тему некомпетентности экспертов - А. Ипатова, В. Ахромеева, И. Башкирова, В. Ильина - приведших доказательства наличия кощунственной символики в штрих-коде EAN-13/UPC. Учитывая, что клевета, домыслы и по сути бездоказательные, притянутые за уши обвинения сыплются на нас теперь со всех сторон (в чем отчетливо прослеживается организующая рука одного из первых лиц в иерархии РПЦ МП), трудно предполагать, что и данный наезд производится кем-то самостоятельно, т.е. вне общей атаки.

Однако присутствует и некая особенность в возобновлении, на мой взгляд, пустопорожних при создавшейся уже ситуации дискуссий о том, есть ли в "рогатом" штрих-коде три выделенные шестерки. Если всякие журналисты "Церковного вестника", "НГ-религий", "Единого Отечества", ангажированные бесстыдными управленцами с Чистого переулка, попросту изощряют свою фантазию, выдумывая про нас всякие небылицы (лишь бы дискредитировать и опорочить, записать в сектанты, объявить "антицерковными и антигосударственными элементами"), то в доказательстве "безобидности" EAN-13/UPC проступает нечто более серьезное - сопоставимое с кампанией администрации РПЦ по выкорчевыванию из храмов и монастырей всех, кто полагает глобалистские мероприятия светской российской власти совместимыми с христианством. Ибо эти действия совершаются даже не столько ради упрочения корпоративной солидарности и дисциплины (иначе говоря, беспрекословного послушания руководству), сколько ради утверждения новых общественных и религиозных идеалов, допускающих и цифровую идентификацию людей, и мечение последних кощунственным начертанием.

"Эти иннэнисты - наймиты ЦРУ (ФСБ, Моссад, либералов и т.п.) -> их деятельность - подрывная и хорошо оплачиваемая -> их слова - сплошная выдумка и провокация -> разговоры о штрих-коде и числе "666" - не соответствуют действительности", - вот насквозь лживая логическая цепочка, призванная оправдать как репрессии в отношении православных антиглобалистов, так и систему мероприятий по встраиванию чад Русской Православной Церкви в "общество счастливых рабов" с присущими тому нормами мондиалистской морали и нравственности. Промолчать, не ответить на этот вызов, означает развязать нашим гонителям руки. Именно поэтому мы вынужденно возвращаемся к закрытой было теме - доказательству кощунственности EAN-13/UPC.


Письмо анонима:

От: Алексей Иванов parker389@nekto.com
К: admin@kongord.ru
Время создания: Thu, 20 Mar 2003 15:35:12 +0300
Тема: От yuda
Прикрепленные файлы: штрих-код 5.doc

--------------------------------------------------------------

К.Гордеев!!!

"Сходство этих линий с теми линиями, что означают цифру «шесть» кажется очевидным… Но сходство все же не есть тождество. Ведь все эти знаки предназначены не для прочтения их людьми, а для распознавания их компьютером.

   Разница в том, что, когда мы читаем текст, мы обращаем внимание только на темные значки - буквы. Пробелы между буквами для нас не несут никакой информации. Но не так воспринимает штрих-код компьютер (для которого, собственно, штрих-код и предназначен). В магазине кассир проводит по товарному штрих-коду сканером, который испускает тонкий лазерный лучик шириной в четверть миллиметра. Датчик сканера при этом реагирует на ответный сигнал: если луч попадает на черную полосу, то свет полностью поглощается, назад в сканер отраженный свет не поступает, и тогда компьютер прочитывает это молчание как «1». Если же луч нащупывает светлую полосу незакрашенной бумаги, пробел, то свет отражается полностью, возвращается в сканер, и датчик реагирует – прочитывая полученную информацию как «0». Собственно, только эти два знака и существуют для компьютера. Основу компьютерного языка составляет так называемый «двоичный код»: все свои операции компьютер осуществляет через различное чередование импульсов, означающих или 1 или 0. Это значит, что в штрих-коде для компьютера значимы не только линии, но и пробелы, интервалы между ними.

   Так вот, цифра шесть кодируется следующим чередованием знаков: 1010000 (штрих-пробел-штрих-пробел-пробел-пробел-пробел). Другие варианты, предусмотренные ГОСТом: 0000101 или 0101111 (в последнем случае на этикетке над цифрой 6 мы видим толстую сплошную черную полосу). В любом случае для штрихового начертания цифры 6 требуется нанести 7 знаков (две черты, плюс пять пробелов, разделяющих эти черты между собою и отделяющие их от соседних цифр). Это значит, что для прочтения числа 6 компьютер должен получить серию импульсов от 7 знаков (модулей). А ограничительные линии, в которых обычно и видят тайные шестерки, состоят всего лишь из трех знаков: штрих-пробел-штрих (101), то есть менее чем наполовину соответствуют той комбинации, которая обозначает 6.

   Эти линии  не что иное, как просто выключатель. Это простейшая комбинация символов (1-0-1), которые подсказывают сканеру, где пора начинать работу, а где пора выключаться. Эти линии в начале и в конце кода нужны для синхронизации считывающего сканера. Для сканера задается эталон того, какую толщину имеет тонкая линия. Ведь в самом деле никак нельзя отличить тонкую линию от толстой (от двух тонких), если не известна толщина одной тонкой. И как узнать какова толщина одного пробела? Именно для этого нужна эта комбинация вначале. Теперь зачем она в конце. Дело в том, что человек, проводя сканером по штрих-коду может сделать это с разной скоростью - быстрее или медленнее. Соответственно сканер "видит" эти линии по разному. Если человек проводит быстро - то и сканер "видит" черные и белые полосы меньшее время. Таким образом, они как бы становятся для него уже. И наоборот. Но человек не может провести сканером абсолютно равномерно - с постоянной скоростью. Например может случиться, что скорость движения руки вначале штрих-кода была меньше, а к концу возросла. Тогда получится, что линии в конце кода покажутся сканеру более тонкими и например толстая линия может распознаться тонкой, т.к. сканер не знает о истинной ее толщине, а оценивает ее посредством того времени, которое датчик "видит" черную полосу. При помощи комбинации 101 в конце кода сканер оценивает как изменилась скорость движения сканера по линиям кода и, если движение было неравномерным, в принципе может сделать поправку и рассчитать какой скорость была в середине и т.д. Кроме того, эта комбинация выделяет начало и конец штрих-кода. Таким образом, эта комбинация цифрой не является, а предназначена для обеспечения надежного считывания. А то, что она входит в число 6 - это только совпадение. Кроме того, комбинация 101 входит и в написание таких цифр, как 3 и 5 (которые отличаются друг от друга комбинацией пробелов вокруг этих линий).

   Итак, ограничительные линии не есть «шестерки»; а потому говорить, что ограничительные линии «похожи на шестерку» – все равно, что говорить, будто начертание цифры 5 похоже на шестерку, и потому число 555 тоже является сатанинским. Буква б тоже похоже на цифру 6. Но это не значит, что если в строчке трижды встречается буква б, то эту строчку стоит вымарывать как «сатанинскую»… А если в цифре 8 подтереть одну из линий – она станет шестеркой. Такими «подтираниями» и «дописываниями» можно любой знак переделать в искомый символ и сделать из мухи слона. Вот как это делает, например, петербуржский священник Геннадий Емельянов: «Штрих-код содержит в себе число 666, хотя и утверждают, что сканер это число не считывает. И, действительно, если мы возьмем и подвергнем сканированию любой штрих-код, числа 666 мы там не найдем, но интересно то, что если наложенную информацию стереть, то в основе будут лежать голые три шестерки, которые сканер уже способен прочесть»ю.

   Когда говорят, что штрих-код плох тем, что в нем содержатся знаки, графически похожие на шестерки, это означает, что люди хотят придумать себе предмет страха. Ведь штрих-коды предназначены не для человеческого восприятия, а для компьютерного считывания. Это означает, что знаки одного языка пробуют воспринимать по законам другого языка. А ведь так можно счесть всех китайцев матерщинниками – ибо  они нередко произносят слоги, которые для русского уха кажутся оскорбительными. Да, оградительные штрихи   начертаны так же, как и шестерки.   Но, во-первых, чтобы заметить это сходство, нужно приложить усилия по изучению символики штрих-кода (чего обычный покупатель не делает). Во-вторых, если уж за это изучение браться всерьез, то станет понятно, что пробелы в этой азбуке тоже являются буквами, а вот как раз по числу пробелов оградительные символы все же отличаются от цифровых. Кроме того, такая постановка проблемы означает, что отношение к штрих-кодам   уже целиком зависит не от символики самих кодов, а от готовности относящегося акцентировать внимание на этом «графическом сходстве» или же игнорировать его или даже просто – со знанием дела – отрицать.

   В науке же принято считать доказанной лишь ту точку зрения, которая смогла ответить на все недоумения и возражения оппонентов. Утверждение, что разделительные линии идентичны «шестерке», все же не отвечает на ряд вопросов. Один из них: разделительные линии не подписаны арабскими, «человеческими» цифрами. Если сканер у кассира выходит из строя, или линии штрих-кода загрязнены, кассир просто от руки набирает на своем кассовом компьютере тот набор цифр, который подписан под штрих-кодом. Поскольку под разделительными линиями никаких значков нет, то и кассир просто пропускает эти линии. Если же у них есть цифровое значение, то тогда те данные, что компьютер получит в результате ручного ввода цифр, окажутся совершенно отличными от тех данных, которые он получил бы, если бы сам сканировал и распознавал штрих-код. Но разные входные данные порождали бы разнобой в итоговых результатах – чего составители программы, конечно, не допустили бы (ибо тогда был бы невозможен точный учет проданных товаров). Для компьютера, оказывается, все равно - прочел ли он сам код, или получил его от кассирши, которая опустила пресловутые три шестерки. Идентичность результата означает идентичность и поступившей в компьютер информации. И, значит, разделительные линии не несут никакой цифровой информации. И, значит, компьютер как-то различает разделительные линии от тех групп линий, которые имеют цифровое значение. Как он это делает? Нет ответа на этот вопрос…

   Предположение о тождественности разделительных линий шестеркам нарушает и основную аксиому кодирования информации: любой код (перевод) должен быть обратим. Если мы поставим вместо разделительных линий те комбинации штрихов и пробелов, что обозначают шестерки – будет ли работать такой код? – Нет!

   Это вопрос тем более значимый, что штрих-код действительно содержит в себе тайный знак, сокрытый от непосвященных – это последняя его цифра. Она служит своего рода «паролем», который мешает подделать штрих-код и написать в нем цифры в произвольном порядке. Все цифры штрих-кода по определенным правилам должны быть вовлечены в некоторые арифметические операции с ними – чтобы в сумме получилась последняя из цифр. Но если разделительные линии компьютер читает как шестерки, то в этом случае у него никак не может получиться та же итоговая сумма, которая выходит, если в него последовательность цифр загружается вручную – кассиршей, не учитывающей «шестерки».

   Второй вопрос, на который штрихофобы не дают ответа – это вопрос о том, зачем вообще нужны пробелы до начала первого штриха знака и после окончания последнего штриха . Если они ничего не значат (а только при их наличии разделительные штрихи тождественны шестеркам), то отчего же все цифры кодируются с помощью именно 7 модулей и зачем тогда нужны крайние пробелы? Почему тогда разнится число пробелов между последним штрихом, которым кончается одна цифра и первым штрихом, с которого начинается следующая цифра штрих-кода? Почему число пробелов между цифрами разное, если число этих пробелов ничего не значит? А именно это тезис – о не-значимости пробелов лежит в основе экспертиз, находящих число зверя в штрих-коде. И на этот вопрос я пока не слышал ответа… А именно этот тезис о не-значимости пробелов лежит в основе экспертиз, находящих число 666 в штрих-коде. А ведь опровергается это утверждение просто: достаточно взять Ккакой-нибудь уже изготовленный штрих-код, о котором известно, какая именно последовательность арабских цифр в нем закодирована, и затем «ужать» этот штрих-код, удалив «лишние» пробелы между штрихами, о которых предполагается, что они не несут никакой информационной нагрузки. Например, согласно ГОСТу цифра шесть передается с помощью 7 знаков: 1010000. По мнению Ипатова, компьютеру для распознавания шестерки достаточно первых трех знаков (101; штрих-пробел-штрих). Четыре последующих пробела (0000) информации не несут и оказываются лишними. Хорошо, сотрите эти пробелы, оставьте лишь один (чтобы первый штрих следующей цифры не слился с последним штрихом предыдущей). Проведите эту операцию ужатия по всему штрих-коду, со всеми цифрами (в зависимости от серии удаляя лишние пробелы, оказавшиеся до начала первого штриха или же после окончания последнего штриха из группы, обозначающей каждую отдельную цифру). И дайте сканеру прочитать переделанный вами штрих-код. Что вы получите? – Ничего. Это значит, что для компьютера все-таки важно количество пробелов между группами штрихов.

   Провести такой эксперимент может каждый владелец компьютера, принтера и сканера.

   Операция первая: пойти в ближайший супермаркет, в котором кассовые рассчеты совершаются с помощью ручного сканера кассирши. Купите какой-либо продукт. Сохраните его этикетку со штрих-кодом и принесите ее домой.

   Операция вторая: отсканируйте штрих-код с этой этикетки. Переведя изображение на экран, увеличьте его.

   Операция третья: Пользуясь таблицей ГОСТА определите границы между комбинациями штрихов и пробелов, обозначающих подписанные снизу под кодом арабские цифры. Уберите лишние, с точки зрения Ипатова, пробелы. То есть: те пробелы, которые находятся внутри комбинации двух штрихов, обозначающих одну цифру, не трогайте, а вот те пробелы, которые предшествуют этой комбинации штрихов или следуют за ней – сотрите на экране вашего компьютера. Например, в цифре 5 (серии А) – 0110001 – сотрите первый пробел и оставьте все остальные. А у той же цифры в серии С - 1001110 - сотрите последний пробел, оставив все срединные.

    Операция четыре: распечатайте полученную вами картинку.

    Операция пять: возьмите исходную этикетку и ту, которую вы “поправили” и отнесите в тот же магазин попросите кассиршу просканировать обе бумажки…

    Аналогичный эксперимент можно провести, не удаляя лишние пробелы, а просто добавляя их (легче всего это сделать сразу после окончания первых двух длинных линий). Ведь если наличие или отсутствие пробелов никак не влияет на распознавание – то и появление дополнительных пяти-шести пробелов после первой ограничительной пары линий, а также перед центральным и завершающим знаками-ограничителями не должно влиять на результат распознавания.

    Наконец, если по догадке “наших специалистов” ненужным является центральный знак-ограничитель (мол, он туда вставлен лишь для того, чтобы шестерок было именно три), то попробуйте удалить и его. И снова посмотрите на результат…

   Приходила ли в голову Ипатова мысль о необходимости такого проверочного эксперимента с вручную исправленным штрих-кодом? – Да. Вот фрагмент из его экспертизы: «Крайние ограничители в штрих-коде являются необходимыми, т.к. по ним определяется единичная ширина элемента. Центральный ограничитель не является необходимым. Подтверждением этому может служить нижеприводимый распознаваемый программой "вручную исправленный" штрих-код. В данном штриховом коде к центральному ограничителю справа и слева добавлено по дополнительному пробелу. Аналогичное добавление пробелов после крайних ограничителей приводит к сбою в считывании кода».

   Как видим, даже добавление пробела приводит «к сбою в считывании кода». Хотя казалось бы это добавление пустоты… Если же такое добавление после окончания штрих-кода («после крайних ограничителей») приводит к сбою – то на каком основании Ипатов полагает, будто ликвидация пробелов в самом штрих-коде никак на результат распознавания не влияет? Так провел ли Ипатов соответствующий эксперимент? – Нет.

   Не проведя решающего проверочного эксперимента, не оповестив суд о наличии иных точек зрения у программистов , лично не принадлежа к кругу программистов-компютерщиков, Ипатов встал на путь банального запугивания…

   Кроме того, его очевидная ошибка в том, что с неинформационными, вспомогательными символами он решил обращаться как с информационными. И это несмотря на то, что стандарт предлагает две разные таблицы для их распознавания. Это означает, что сама программа работает со служебными символами иначе, чем с информационными. Впрочем, этот раздел есть только в европейском стандарте и отчего-то опущен в российском ГОСТе. Из европейского же стандарта видно, что для распознавания цифры программа учитывает два параметра (Е1 и Е2); для распознавания ограничительных крайних символов только один параметр (Е1); а для работы с центральным знаком-разграничителем она использует, напротив, целых четыре замера (Е1, Е2, Е3, Е4). Соответственно, для них используется другая таблица (5.1.1.2-2), чем та, которая используется для распознавания цифр (5.1.2-2).

   Еще одна подробность, которую отчего-то упускают иннэнистские эксперты: компьютер только тогда в состоянии прочитать штрих-код, когда в его память уже заложена соответсвующая комбинация цифр. Если вы принесете в магазин товар, который вы приобрели в ином месте и при этом именно этого типа товара   не будет в ассортименте этой торговой точки, то вы можете сколько угодно елозить сканером по штрих-коду. Кассовый компьютер ничего не идентифицирует и будет молчать. Это значит, что для того, чтобы компьютер «увидел» число 666 в штрих-коде, кто–то из операторов должен заранее ввести именно эту комбинацию в память компьютера. Введена ли такая комбинация в память именно того компьютера, с которым предстоит общаться вам, проверить легко: дайте ему для распознования штрих-код, состоящий из шести параллельных тонких линий. И посмотрите - увидит ли хоть что-нибудь компьютер в этом вашем творении.

   Впрочем, ошибка в вопросе расшифровки штрих-кода есть ошибка в математике, но не в богословии, в математике, но не в духовной жизни. Поэтому ошибиться здесь нестрашно.

   Плохо то, что церковные люди так много связывавшие с тезисом о наличии шестерок в штрих-кодах, эмоциональную реакцию поставили прежде рационального анализа. Сначала – письма протеста и громкие заявления, и лишь затем – первые попытки обращения к специалистам [49]. Более того, и по сю пору так и не было проведено ни одного круглого стола с приглашением светских математиков. Казалось бы, если вопрос так значим и если он все же дискуссионен (Министерство по налогам и сборам категорически отрицает наличие шестерок) – то стоит организовать серьезный и совместный анализ, в котором каждый шаг спорщиков был бы проверяем и оспариваем. Но этого не было. «Наши специалисты» [50], «доказавшие» идентичность разделительных штрихов и шестерок, знают, что сам создатель этой программы считает иначе [51] – но тем не менее истолковывают чужую программу по своему… Цифра 0 передается с помощью символов 0001101 или 0100111 в левой части штрих-кода и 1110010 в правой его части.

   Цифра 1 - 0011001 или 0110011 и 1100110
   Цифра 2 - 0010011 или 0011011 и 1101100
   Цифра 3 - 0111101 или 0100001 и 1000010
   Цифра 4 - 0100011 или 0011101 и 1011100
   Цифра 5 - 0110001 или 0111001 и 1001110
   Цифра 6 - 0101111 или 0000101 и 1010000
   Цифра 7 - 0111011 или 0010001 и 1000100
   Цифра 8 - 0110111 или 0001001 и 1001000
   Цифра 9 - 0001011 или 0010111 и 1110100

    Ошибка, допущенная А.Ипатовым вслед за В.Ахрамеевым и И.Башкировым была продемонстрирована в интернетовских дискуссиях: http://kuraev.ru/gb/view.php?=8081 и (http://voskres.orthodoxy.ru/archive/8671.htm). Подробнее см. в прилагаемой статье кандидата технических наук свящ. Александра Дубинина".


Ответ анониму:

Здравствуйте, Алексей Иванов.

Вы писали 20 марта 2003 г., 15:28:35: письмо с текстом о штрих-коде, которое я, как написал Вам прежде, переслал специалистам. Однако внимательно ознакомившись с присланным мне текстом, я, не дожидаясь ответа экспертов, позволю себе несколько замечаний (которые допускает мое "дилетантское" высшее техническое образование и степень кандидата наук).

Замечание 1 (общего плана):

Довольно неэтично д. Андрею Кураеву, или кому-то очень близкому ему обращаться с анонимными посланиями, прикрываясь компилятом из чужих цитат. Если действительно пытаться выстроить научную дискуссию, то пусть с обоих сторон говорят эксперты для начала хотя бы в данном техническом, а не философском вопросе.

Замечание 2.

Если взглянуть на присланное Вами штрихофильское сочинение, то его основным недостатком, как и положено для всякого компилята, являются синкретизм и нецелостность. Мне лениво его разбираться в нем по предложениям и тезисам, поэтому давайте взглянем на проблему штрих-кода как бы сверху, чтобы увидеть его не по частям, а целиком, и, тем самым выявить все "тонкие моменты".

Замечание 3.

Прежде всего, данная система кодирования, разработанная Дж. Лорером, является системой, т.е. чем-то целостным, внутренне согласованным и непротиворечивым, с надежно работающим и обеспечивающим выполнение целевой задачи hard&soft'ом. Поэтому всякие идиотские предложения - типа "давайте произвольно добавим или сотрем штришок или пробел!" - лучше навсегда забыть. Когда бы такое было возможным, данный технический "прибабах" следовало б выкинуть на помойку и не за какие-то там мировоззренческие штучки, а просто, как непригодную для использования вещь.

Замечание 4.

Основными системными параметрами EAN-13, опуская ненужную детализацию, можно назвать следующие:

а) количество значимых символов кода - 12;

б) один контрольный символ, соответствующий цифре, которая расчитывается путем 6 операций с 6 четными и 6 нечетными цифрами, кодируемыми значащими символами (опять три шестерки - ну, "как на зло"!);

в) число кодируемых основных знаков - 10 цифр;

г) число модулей в каждом знаке - 7;

д) число вариантов кодирования - 3 (наборы A, B, C);

е) содержание каждого знака - 2 штриха и 2 пробела (первый пробел в наборах A, B/ первый штрих в наборе C);

ж) дополнительные характеристики наборов А, В, С: сумма модулей в штрихах каждого символа наборов А и С - четное, набора В - нечетное; набор С является зеркальным по отношению к набору А;

з) при декодировании в расчет принимаются не все 4 составляющие символа, а только три из них - штрих-пробел-штрих (см. таблицу 4.10 ГОСТа);

д) число вспомогательных знаков - 5 (типовой знак ограничитель- 3 модуля - штрих-пробел-штрих, центральный знак-ограничитель- 5 модулей - пробел-штрих-пробел-штрих-пробел, специальный знак ограничитель- 6 модулей - пробел-штрих-пробел-штрих-пробел штрих, знак ограничитель дополнительного символа- 4 модуля - штрих-пробел-штрих-штрих и знак разделитель дополнительного символа- 2 модуля - пробел-штрих);

е) дополнительная характеристика типового знака ограничителя - аналог сигналов СТАРТ и СТОП в других системах кодирования.

Безусловно все эти сведения Вы и сами могли хорошо изучить в ГОСТе.

Замечание 5.

Относительно процедуры декодирования:

Система построена таким образом, что в каждых двух соседних знаках штрих-кода последний штрих предыдущего соседствует с первым пробелом последующего (или же, в зависимости от конкретного набора, последний пробел предыдущего с первым штрихом последующего). Иначе говоря, для трех соседних штрихов в знаках наборов А и В расстояние между окончанием первого из них и окончанием третьего равно 7 модулей (см. предыдущее замечание). Аналогичная дистанция содержится и между началом первого штриха и началом третьего штриха в знаках набора С. Как видите, совершенно надежный способ автоюстирования измерительного прибора в процессе измерения. И вовсе нет необходимости извращаться, чтобы сканер, как Вы пишете, делал "поправку на изменяющуюся скорость движения руки измерителя", опираясь на "истинную" толщину модуля в знаках-ограничителях. (В скобках замечу также, что Вы, вероятно, просто никогда не видели, как работают ридеры штрих-кодов: НИКТО РУКОЙ ПО ПОСЛЕДНИМ СЧИТЫВАЮЩИЙ ПРИБОР НЕ ВОЛОЧИТ - не путайте с домашним или офисным сканером, а приглянувшийся Вам случай определения штрих-кода на неровной поверхности, скажем, сыра является скорее не правилом, а артефактом, связанным с российским представлением о торговом сервисе).

Замечание 6

После того, как сканер измеряет 7-модульную ширину знака, несложным становится сделать его привязку к ширине одного модуля в пределах данного знака. С этого момента пробел, который находится на границе между двумя знаками становится ненужным, и декодирование, как это и описано в таблице 4.10 ГОСТа уверенно производится по оставшимся трем составляющим: штрих-пробел-штрих.

Из сказанного вытекают две вещи:

Во-первых, один из пробелов в знаках - первый или последний в зависимости от набора А, В или С - никакого значения для "узнавания" знака не имеет;

а во-вторых, добавлять или отнимать пробелы, как это проделывали Вы в своих экспериментах, нельзя, ибо тем самым Вы сбивали юстировку прибора и нарушали саму возможность "узнавания".

Замечание 7

Из предыдущего замечания следует, что независимо от того, какой смысл вкладываете Вы, прибор или кто-либо еще в изображение состоящее из 1-модульной черты - 1-модульного пробела - 1-модульной черты, Вам, если попытаетесь прочесть эту графическую комбинацию в системе кодирования EAN-13, придется узнать в них цифру "6". Ибо только ей это изображение в данной системе и соответствует. Что же касается таблицы ГОСТа 4.1, где приведены параметры "кодирования" цифр в наборах А, В и С, то она, как это и делается часто в технических руководствах, без каких-либо специальных пояснений содержит, как сам код, так и правило его применения: указание где и как дополнять нулями или пробелами значение кодируемой цифры до соответствующего ей в каждом наборе стандартного 7-модульного знака. В противном случае, сравнивая табл. 4.1 и 4.10, придется признать вырожденность испольуемой системы кодирования EAN-13, что недопустимо (да и неверно).

Замечание 8.

О смысле знаков-ограничителей. Как уже писалось, они (по крайней мере боковые знаки-ограничители) соответствуют сигналам начала и конца сканирования. Заканчиваясь на штрих, левый знак-ограничитель дает начало отсчета для обозначающего первую цифру знака набора А. А начинаясь со штриха, правый знак-ограничитель показывает конец отсчета для обозначающего последнюю цифру знака набора С. Центральный знак-ограничитель, начинаясь с пробела и заканчиваясь пробелом, служит своеобразным переключателем для порядка расположения штрихов и пробелов вдоль штрих-кода (чтобы обеспечить переход от набора А ->...-> к набору С). Единственным объяснением для этой операции, равно как и для наличия набора С, зеркального набору А, может служить только тот факт, что разработчику данной системы штрихового кодирования очень важно было, что первый знак-ограничитель непременно заканчивался на штрих, а последний - с оного начинался.

Замечание 9.

Взглянув, как работает - и уверенно работает! - механизм системы кодирования EAN-13, остановимся на нескольких его, волюнтаристки введенных Дж. Лорером странностях.

Во-первых, центральный знак-ограничитель понадобился разработчику данной системы только для того, чтобы сделать возможным использование двух ОДИНАКОВЫХ боковых знаков-ограничителей, да еще таких, когда левый из них непременно заканчивается на черту, а правый с нее начинается. Естественно, что при структуре не служебного, а информативного знака - 2 штриха/2пробела - такая технологическая прихоть создателя системы потребовала еще ничем другим не оправдываемых усложнений: введения центрального знака-переключателя (центрального знака-ограничителя) и создания набора С, инверсного набору А. Ни один другой штрих-код подобным изгибом технической мысли не отягощен. Да и в пределах EAN-13, где существует 5 типов служебных знаков, вполне возможно было бы использовать справа и слева РАЗНЫЕ знаки-ограничители и искусственно не усложнять систему. Лорер тем не менее на это усложнение пошел, да еще таким образом, чтобы и знак-переключатель визуально не отличался от знаков включения и выключения сканирования.

Во-вторых, для обозначения трех разделителей было выбрано такое, которое и "на глазок", и согласно применяемому коду EAN-13 соответствовало бы цифре "6". Я полностью согласен с Вами, что для процессора, обрабатывающего результаты сканирования сугубо функционально, т.е. в пределах решаемой задачи, нет никакой необходимости транслировать в цифры знаки-ограничители. Но ни я, ни те, кто выступает в качестве наших экспертов, НИКОГДА И НЕ ГОВОРИЛИ НИЧЕГО ПОДОБНОГО. Вполне, вероятно, что Вы услышали таковую интерпретацию либо в силу косноязычия наших авторов - увы, язык - враг того, кто пытается им воспользоваться для объяснений, - либо потому, что очень хотели это услышать. Однако ПРОЧТЕНИЕ линий-разделителей по правилам данной системы кодирования обнаруживает их идентичность шестерке - 1-модульный штрих - 1-модульный пробел - 1-модульный штрих.

Теперь соедините обе странности вместе: искусственное - по произволу разработчика, - ничем не оправданное использование трех линий-разделителей вместо двух и обозначение этих разделителей, как цифры "6" в данной системе кодирования. Добавьте еще также и тот факт, что линии-разделители искусственно выделены из штрих-кода (только не говорите, что это необходимо для ридера!) и акцентированы таким образом, чтобы не ускользнуть от внимания ЧЕЛОВЕКА.

Нет, не для процессора сделан этот штрих-код, а для нас с Вами, чтобы, взяв любой товар в руки, или взглянув на помеченное им животное или человека, мы без труда обнаружили как бы ПОВЕРХ (точнее, понизу) штрихов число "6.......6......6". И чтобы сообразить, что написано, вовсе не требуется, как пишете Вы, "приложить усилия по изучению символики штрих-кода" - цифра шесть достаточно распространена и легко обнаруживаема по подписи под соответствующим штриховым значком. Только идиот не проведет соответствующей параллели.

Замечание 10.

К сожалению, все Ваши рассуждения о том, что три шестерки не тождественны трем шестеркам в EAN-13 и что написаны эти знаки "для компьютера" я считаю демагогическими по причине, высказанной в предыдущем замечании. Компьютер - железка, что ему до мистического числа? А вот для человека эта надпись значима, для человека искусственно вставлена и для человека же и выделена. ЛИЧНО ВЫ И ПРОЧИЕ ШТРИХОФИЛЫ МОЖЕТЕ УТЕШАТЬ СЕБЯ ТЕМ, ЧТО "отношение к штрих-кодам уже целиком зависит не от символики самих кодов, а от готовности относящегося акцентировать внимание на этом «графическом сходстве» или же игнорировать его или даже просто –со знанием дела –отрицать".

Если так велика Ваша потребность в том - пользуйтесь, пожалуйста, означенным выше плодом технического прогресса. Ни я, ни другие никого от этого не отговариваем. Если кто-то способен утешить себя сентенцией, что штрих-пробел-штрих в линиях-разделителях "только похож, но не тождественен" штриху-пробел-штриху, обозначающему цифру "6" - это его личное дело и личный же выбор. Ни к нему, ни к Вам мы с этим НЕ ПРИСТАНЕМ: поступайте, как Вам заблагорассудится.

Однако все ж, хотя бы ради любопытства, взгляните, как много искусственно созданных условий сошлось в EAN-13:

- хотя сей штрих-код не самый продвинутый и современный, зато принудительно сделан самым распространенным;

- хотя мог бы использовать две линии-разделителя, однако специально усложнен, чтобы использовать три;

- хотя в качестве разделительных линий без каких-либо проблем могли бы использоваться любые комбинации штрихов и пробелов, однако используется именно тот, что по правилу декодирования соответствует цифре шесть;

- хотя нет никакой нужды визуально выделять разделительные линии, они удлинены и обнаруживаемы человеческим глазом;

- хотя расчет контрольной цифры мог бы вестись как угодно, он также осуществляется по правилу трех шестерок;

- хотя подавляющее число моделей существующих сканеров способно считывать множество штрих-кодов и перенастройка технически проста, введенные в государстве правила требуют, чтобы товары маркировались преимущественно EAN-13.

Замечание 11

Последнее. Хотя я тут все это понаписал и сам безусловно уверен, что EAN-13 сознательно выполнен в кощунственной и оскорбительной для христиан форме, однако спор по этому поводу считаю бессмысленным и безусловно вредным. Ибо он, главным образом, направлен на то, чтобы отвлечь от гораздо большей опасности - самого факта персональной цифровой кодификации людей, ведущего к новейшему - "цивилизованному" - рабству и осужденного, как преступление против человечества, Нюрнбергским трибуналом.

Вы пишете,"Министерство по налогам и сборам категорически отрицает наличие шестерок"... Да оно отрицает и связь своего 12-значного персонального идентификатора с 12-значным же кодом EAN-13. Точно также это делают и другие разработчики личных кодов в нашей стране. Делают просто потому, что пока не существует закона нумеровать людей и записывать их номера в виде лукавого штрих-кода. Но вот совсем недавно наш президент (а он, конечно же, никогда не врет) пообещал, что "уже очень скоро наши россияне будут ездить в Европу без виз". А такое возможно, только если Россия присоединится к Шенгену, где узаконены и личные коды и их изображение в EAN-13. А в Кананаскисе, в прошлом году, на саммите G-8 прямо говорилось (и Россия к этому присоединилась), что человека по всему миру будут сопровождать данные, записанные в стандартах UN/EDIFACT. Угадайте, кто является полномочным представителем этой организации? - Офисы EAN.

Так что кощунственный код - это только следствие. Тактически его можно даже заменить на время внедрения штрих-кодовых имен каким-нибудь более безобидным, чтобы вернуться к разговору, когда уже номера будут розданы. Как я считал три года назад, что бесконечные демагогические споры о наличии трех шестерок нам специально вбрасываются, чтобы отвлечь внимание от главных нумерационных процессов, так считаю и сейчас.

---------------------------------------------------------

С уважением,

Константин Гордеев mailto:admin@kongord.ru